1. Field of the Invention
The present invention relates to the exchange of information over a bidirectional serial line. More particularly, the present invention relates to a serial information transfer protocol between a central processing unit and several peripheral modules.
2. Description of the Prior Art
Prior art computer architectures provide a central processing unit, memory, and various input and output devices within a computer cabinet. Information is exchanged over a parallel bus consisting of several lines, each of which carries one bit of information. Taken collectively, the lines provide several bits in parallel at the same time, referred to as a byte.
Often it is desirable to extend the domain of the central processing unit (CPU) within the computer's cabinet. It is not practical to extend a parallel bus for the following reasons:
(1) The cost of cable is quite expensive. In some applications a 68-conductor cable is required. The length of cable required to extend the CPU within a computer cabinet, from one equipment rack to another, adds a significant cost to the computer.
(2) The cost of connectors for 68-connector cable is a significant factor. Wiring such connectors is difficult and labor intensive.
(3) Each conductor within the cable must include a send and receive driver at each end, and corresponding circuitry for effecting bidirectional transfer of information. Significant amounts of circuit board space and driving energy are required to extend parallel bus signal in this way
(4) Parallel buses are not readily shielded and as such are subject to transmission induced signal degradation due to environmental and line introduced noise and interference.
It is well known to provide serial duplex communications between a computer and a peripheral device, for example, as communications between a printer and computer according to an IEEE RS-232 protocol. Such known serial communications are not effective for extending a CPU because each serial line must be dedicated to a single peripheral device. Accordingly, only point-to-point communications are available using known serial communications protocols. To extend a CPU domain by these known techniques would require a separate serial bus for each peripheral device addressed. When adding several peripheral devices, for example, nine modules, the number of wires in an interconnecting cable becomes a significant cost factor, as does the hardware to drive the lines.
Another important factor in extending the domain of a CPU by either parallel or serial communications is the environment in which the computer is operated. For example, computers that operate assembly lines, referred to as programmable controllers, are highly specialized pieces of hardware that control such industrial processes as are found in foundries and factories. A foundry or factory environment is noisy, stressful to the components of the controller, subject to temperature and humidity extremes, and degradative of electronic communication. Reliability is crucial in controlling an industrial process--the wrong interpretation of information might produce improper equipment actuations with attendant disastrous results.
A further consideration, particularly important to programmable controllers, is that of flexibility. The domain of the CPU is often extended to provide control of improved or more complex processes that may be adapted at the manufacturing facility at a later date. It is desirable to reconfigure the CPU and add peripheral devices as needed. Parallel extensions add significant cost, serial extensions are not transparent, but rather impose a duplex protocol upon a central processing unit. Both approaches are unsatisfactory, in terms of cost, reliability, immunity to noise, and flexibility.